package com.ruoyi.teaching.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.teaching.domain.PlatformUVirtual;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.teaching.domain.VettingRequest;
import com.ruoyi.teaching.domain.vo.PlatformQQuestionVO;
import com.ruoyi.teaching.domain.vo.PlatformUVirtualVO;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 王旭
 * @since 2024-06-29
 */
public interface PlatformUVirtualService extends IService<PlatformUVirtual> {

    AjaxResult selectPlatformUVirtualListOwn(Integer pageNum, Integer pageSize, Integer virtualType, Integer vettingStatus, String virtualName);

    AjaxResult selectPlatformUVirtualById(Long id);

    AjaxResult  insertPlatformUVirtual(PlatformUVirtualVO platformUVirtualVO);

    AjaxResult updatePlatformUVirtualVetting(VettingRequest vettingRequest);

    AjaxResult deletePlatformUVirtualByIds(Long[] ids);

    AjaxResult selectPlatformUVirtualListSystemAdmin(Integer pageNum, Integer pageSize, Integer virtualType, Integer vettingStatus, String virtualName);

    AjaxResult selectPlatformUVirtualListUser(Integer pageNum, Integer pageSize, Integer virtualType, Integer professionalCategoryId, Integer professionalId, String virtualName, Integer sortord,Long softwareTagId);

    AjaxResult selectHotSearch();

    AjaxResult insertPlatformUVirtualQuestions(List<PlatformQQuestionVO> platformQQuestionDTOs,String urlBefore) throws IOException;

    void addView(Long id);
}
